The present invention relates to an information processing system for architecture model of human interface, comprising a plurality of agents divided into independent element functions and a studio for reading and writing various information as a shared medium.
The term "agent" used in the description hereinafter is defined as a basic software module, which takes charge of processing and information relating to human interface (similar to the so-called user interface of man-machine interface) divided into element functions and takes charge of interaction between man and machine. The term "studio" means a work memory area, which shares communication, synchronization and internal data between agents, reads and writes various information consisting of messages and data for dialog between agents as a shared medium accessible from each agent, and temporarily holds such information.
In general, a computer system comprises a plurality of software modules prepared by different design engineers, and addition of a newly designed software module to the system means a possibility to improve the system ability and to increase task executing ability of the user himself. However, the addition of the new module raises a problem that an agreement previously reached between the user and the system may be destroyed.
When the user is utilizing a computer without any trouble, it is considered that some sort of agreement is established between the user and the system. The agreement between user and system means both the knowledge possessed by the user and the knowledge possessed by the system on: (1) mapping of task of the user and function of the system, i.e. to decide which of many functions provided by the system is used to solve which of many goals to be solved when the user executes the task; (2) operation to be performed by the user to the system in order to solve the goal; and (3) feedback to be provided by the system in response to operation of the user.
The knowledge possessed by the system as a part of the agreement is called "task model". By the use of the task model, the system grasps context of task execution of the user and can provide intellectual support to the user. For example, it is possible to achieve automation of routine task, to provide selective choice when decision by the user is needed, or to recognize and teach an act, which is inappropriate in the meaning.
A part of the task model is provided by analysis and preparation of the user's task by a system designer. Vendor in software module group can assume and describe a procedure for the user to solve the goal, using the module groups and the description can be provided to the system as a part of the task model.
However, it is not possible generally for each vendor to predict the entire task of the user because user executes the task using a plurality of tools prepared by different vendors, and the knowledge on task execution provided by each vendor is merely a modelling of a part of user's task. Also, with the knowledge obtained from task analysis at a certain point only, it is not possible to cope with addition of new modules and change of the user's task itself associated with it.
For this reason, the knowledge designed by the vendor or the knowledge obtained by task analysis is not task model properly reflecting user's own task for individual user executing task with a plurality of tools prepared by different vendors, but is a partial task model, prepared by modelling a part of the user's task. One example of the system utilizing the partial task model is POISE system.
A task model is formed only when the partial task model groups given by the system designer or individual vendor are adequately combined and corrected to match actual task execution of the user. To generate the task model, it is necessary to have a function to customize partial task model group for the user or a learning function to automatically correct, by which the system automatically corrects the partial task model. Examples of the systems to provide customizing function to generate task model from partial task model are: HP NewWave environment and HP SoftBench environment.
If we consider a computer system divided into software module group and interface architecture, the software module group is a module group designed and provided by vendor in order to solve the task, which is assumed by the vendor, and the interface architecture is a software, which controls knowledge such as task model, partial task model and plays a role to form an agreement between the user and the system.
In general, a computer system comprises a plurality of software modules prepared by different designers, and addition of newly designed software module to the system provides a possibility to improve system ability and to increase task executing ability of the user himself. However, the addition of the new module raises a problem to destroy the agreement, which had been established between the user and the system.
This agreement is formed through learning of the user himself, adaptation to the user by the system, and customizing of the system by the user. To utilize the new module, it is necessary that the user changes and reconstitutes such knowledges. The necessity to change the knowledge for the user is called destruction of agreement.
FIG. 1 is a diagram showing formation of an agreement by customizing of a partial task model, and FIG. 2 represents destruction of agreement associated with addition of new modules. A system provided with software module groups by a vendor A and a vendor B is shown in FIG. 1, and partial task models PTMA and PTMB, modeling task execution utilizing software module group, are provided to the system by each vendor. To accurately support task execution of the user, it is necessary to have knowledge as to in which combination the modules are used in order to solve task request of the user. These knowledges must be defined by customizing by the user himself or must be found by interface architecture.
FIG. 2 shows a case where new software module group and partial task model are provided by a vendor C under the condition, which is based on the agreement between the user and the system as shown in FIG. 1. In this case, if the method to utilize the existing software module is made public, it is possible to model the task execution, which uses both the newly added module group and the existing module group.
Here, it is supposed that, of task requests of the user, a portion solvable by the partial task model provided by the vendor C includes a portion solvable by the customized task model as shown in FIG. 2. In this case, there has been no other way in the conventional system but to take one of the following steps:
(1) to maintain task execution based on the agreement between the system and the user by neglecting function provided by the vendor C and partial task model; PA1 (2) to abandon the agreement formed between the system and the user and to accept task execution according to the partial task model provided by the vendor C. In this case, the user must change the operating method of the system and the knowledge relating to feedback; or PA1 (3) to change the customizing task model to a model applicable to the newly added module by the user himself. PA1 (1) to neglect the function and partial task model provided by the vendor C and to maintain task execution based on an agreement between the system and the user; PA1 (2) to abandon the agreement between the system and the user and to accept task execution according to the partial task model provided by the vendor C. In this case, the user must change the knowledge relating to operating procedure and feedback of the system; or PA1 (3) to change the customized task model by the user himself in order to make it applicable for the added modules.
In view of these requests, there are problems in the conventional system, which can have knowledges obtained by modelling the task execution of the user over a plurality of modules as described above.
Conventional Example: POISE
The system utilizing the partial task model is, for instance, POISE system. In POISE system, the knowledge analyzed and prepared for office work using a group of specific tools are given by the system designer as data base of the system. Using the data base, POISE can support office work.
Task Description of POISE
The knowledge of POISE is acquired by analysis of office work and is given as a group of "task description" in data base of the system by the system designer. The task description is described in the form to define a higher-order task by a "lower-order task" or by "starting of tool", using regular expression. With such information provided in the data base, POISE can recognize context of operation of the user and can plan an action corresponding to the context. For example, if the user specifies a specific task, the system is able to plan an execution step, to start the tool automatically, and to make inquiry to the user when necessary.
Problem of POISE System
However, it is not taken into account in POISE to add a new tool to this environment or to add a new task description because the knowledge is prepared for office work, which uses a specific tool group. In order that the new tool and the task description are adequately integrated in the existing environment, the designer must know the method to start the existing tool, or know task name and object name. In POISE system, the protocol as a unit to disclose the information to the designer is not prepared, and a tool to support additional design of the designer is also not provided. For this reason, it is necessary for the designer of the new tool or task description to have full understanding of all descriptions in the current data base.
Conventional Examples: HP NewWave Environment and HP SoftBench Environment
The examples of the system having customizing function to generate a task model from a partial task model are: HP NewWave environment and HP SoftBench environment.
Agent Task Language of HP NewWave Environment
In HP NewWave environment, a series of operation over a plurality of tools prepared by different vendors can be registered when the user describes a script language called "agent task language". In so doing, an agreement is established between the user and the system that the series of operation will be replaced by a single operation called drag of icon.
Problems in HP NewWave Environment
In general, however, the vendor cannot know the script prepared by the user in the agent task language. For this reason, it must be done only by manual operation of the user himself to change the script in order to utilize the function of the newly added modules when new tools are added. This results in high load for the user and causes trouble for the user in utilizing the function of the new tools.
Tool Protocol of HP SoftBench Environment and Encapsulator Description Language
HP SoftBench environment is an environment more integrated than POISE and provides a cooperative mechanism between the tools of deeper level. In HP SoftBench environment, tool protocol to be made public for each type of software module is made public, and this can be considered as a partial task model. The user can customize the method to use a plurality of tools by description language called encapsulator description language and prepare a task model. For example, it is possible to describe a task, which starts main module and notifies the completion of compile to the member of program team when compiler module completes compile.
Program of HP SoftBench Environment
FIG. 3 is a diagram showing problems of HP SoftBench environment. In HP SoftBench environment, the method to use software module is made public as tool protocol. By this, it is possible for a vendor B, who newly designed a software module group B, to design a partial task model B to utilize the function of an existing software module group A as shown in FIG. 3(1). However, by simply publicizing the tool protocol, it is not possible to correct task model of each user for utilizing function of the newly added software module group B as shown in FIG. 3(2). For this reason, there is no other way for the user but to insist on the task model used up to the moment, or to adopt a partial task model provided by the vendor B, or to re-design a task model by programming Encapsulator description language.
Conventional Example: Prior Patent
The instant inventor has already proposed an information processing system for architecture model of human interface in Japanese Patent Application No. 3-172823 (Japanese Patent Laid-Open Publication No. 6-243096). In these architecture models of human interface, the problems of HP SoftBench environment as described above can be partially solved. Specifically, when adding new software module, it is possible to use the task models used up to that moment and to generate a new task model, by which the new function can also be utilized.
For example, to an environment, where a task model is present, which states: "If the date is updated since I have read the newspaper previously, new information is provided. If not so, information is provided by reading the newspaper which I had read previously". The vendor can add a new module group, and it is possible to generate a new task model, utilizing new function as "reading the information found in the program on the newspaper" utilizing the task models used up to the moment such as: "If the date is updated since I read the newspaper or the program previously, the new information is provided on the newspaper. If not so, the newspaper including the information found in the program is provided if information has been found in the program immediately before, and the information found in the newspaper previously is provided if information has been found previously in the newspaper."
According to an information processing system for architecture model of human interface (U.S. patent application Ser. No. 07/567,879; Japanese Patent Application No. 1-222498 (Japanese Patent Laid-Open Publication No. 3-84652), which has already been proposed by the instant inventor, a common area (work memory area) corresponding to blackboard in the blackboard model is called "studio", and the module group to communicate through the studio is called "agent". By a plurality of agents, the task is divided to element functions, and transaction and information relating to human interface are processed, and communication, synchronization and sharing of internal data are performed between a plurality of agents which are coordinated and operated by a studio.
Each agent is an independent software module and can be started according to the state of the studio. One or more agents are started for one purpose. In the information processing system on this model, one studio is a shared medium of all agents. For this reason, when it is desired to add a new agent, there occurs a problem that the agent to be added may give adverse effect on operation of all other agents. Further, when an agent is to be newly designed, aiming to exert influence on a specific portion of operation of the existing agent group, it is necessary to take the specification of all other agents into account, and this means higher cost for the designing.
In this connection, the present applicant filed Japanese Patent Application 3-172823, which discloses an information processing system for architecture model of human interface, by which new agents can be designed without being conscious of all detailed specification and operation of the existing agent group. The information processing system of this model is as described below.
In FIG. 4, a function agent module group 3 is provided with function protocol, which prescribes functions to execute user's task and the procedure for utilizing said function from the other agents. A methaphor operation model agent group 1 is provided with methaphor protocol, which prescribes external appearance for executing interaction with the user necessary for executing user's task and the procedure for utilizing said external appearance from the other agents. A metaphor world model agent group 2 performs mutual conversion of metaphor protocol and function protocol and utilizes all or a part of the function offered by the function agent module group 3 from the metaphor operation model agent group 1. Partial studios 5 and 6 are prepared by dividing a studio used as a shared medium. A system agent group 4 is provided with function common to all agent groups 1 to 3 and can refer to all of the partial studios 5 and 6.
In the information processing system for architecture model of human interface disclosed by the prior invention, all agent groups consisting of function agent group 3, methaphor operation model agent group 1, methaphor world model agent group 2, and system agent group 4 are connected to the studio, and each of the agent groups 1 to 4 communicates through the partial studios 5 and 6 set for each protocol and executes user's task through dispersion and coordination.
In each of the agent groups 1 to 3, the message sent by an agent is delivered only to one of the partial studios 5 and 6 corresponding to the protocol, to which the message belongs, and no reference access is achieved from other than the agent which is connected to said partial studios of the agent groups 1 to 3 and the system agent group 4.
When a certain message delivered to the partial studios 5 and 6 can be received by a plurality of the same type of agent connected to the partial studios 5 and 6, this message is called announce message of contract, and the agent which delivers the announce message is called a contract manager.
A plurality of agents, which can receive the announce message sends bidding message of contract to a contract manager, and the manager evaluates the bidding message by inquiring to studio history agent, and a final receiver of the message is determined by sending a successful bid message to the most suitable agent.
The contract announce message, bidding message, evaluation method of bidding, and successful bid message are made public as a part of the metaphor protocol or the function protocol.
In FIG. 5, a newspaper metaphor operation model agent 11 is a metaphor operation model agent having a newspaper metaphor protocol, which prescribes a procedure for utilizing the newspaper metaphor from the other agents, and performs interaction with the user with external appearance such as newspaper.
DB agent 12 is a function agent having DB function protocol, which prescribes a procedure for utilizing on-line data base function from the other agents and provides on-line data base function to the other agents.
A newspaper metaphor world A agent 13 and a newspaper metaphor world B agent 14 communicate with the newspaper metaphor operation model agent 11 according to the newspaper metaphor protocol and communicate with DB agent 12 according to DB function protocol. Thus, it is a metaphor world model agent to convert the function provided by DB agent 12 to the one utilizable with external appearance as newspaper.
These two newspaper metaphor world model agents utilize different portions of the function provided by DB agent 12. For example, the newspaper metaphor world A agent 13 presents the most up-to-date information to the user, while the newspaper metaphor world B agent 14 presents information, which the user has read previously in external appearance of the newspaper.
The studio history agent 15 accumulates all messages sent to the studio and answers to inquiries from the other agents by scanning the accumulated message history.
In the newspaper metaphor protocol in the above embodiment, message groups for the following contracts are defined. For instance, the message: EQU "See the newspaper"
is a contract announce message, which is delivered from the newspaper metaphor operation model agent 11 of the metaphor operation model agent group to each of the newspaper metaphor world agents 13 and 14 of the metaphor world model agent group. To this contract announce message, the message form: EQU "bid .alpha."
shows a form of a bid message, which is delivered from each of the newspaper metaphor world agents 13 and 14 of the metaphor world model agent group. Here, .alpha. is an arbitrary message pattern.
In the bidding evaluation procedure, the newspaper metaphor operation mode l agent 11 (contract manager), which sent the announce message, inquires a pattern sent into the studio at the latest of all patterns .alpha. of the bidding messages to the studio history agent 15.
The studio history agent 15 goes back along the history of the messages accumulated in time series in response to the inquiry, performs matching for these patterns and replies the first coincident pattern, for instance, to the newspaper metaphor operation model agent 11, which is a contract manager.
The newspaper metaphor operation model agent 11 sends a message for notification of successful bid: EQU "open the newspaper"
to the metaphor world model agents 13 or 14, which made a bid for said pattern.
In case there is no reply from the studio history agent 15 within a predetermined period, these bids are presented to the users for selection.
Detailed description will be given below on the above operation, referring to FIG. 6 to FIG. 8. When a user clicks on the icon newspaper, the newspaper metaphor operation model agent 11 sends a contract announce message: EQU "read the newspaper"
to the partial studio, and the two agents, i.e. the newspaper metaphor world A agent 13 and the newspaper metaphor world B agent 14, receive the message.
To match this, since the newspaper metaphor world A agent 13 is an agent to present the newest information to the user, it delivers a bidding message such as: EQU [Bidding [it is * day * month * year today]]
including a pattern to match a message, which is sent by a clock agent 16 serving as a system agent at 0:00 A.M. as shown in FIG. 6B. Similarly, since the newspaper metaphor world B agent 14 is an agent to present the information which the user has seen previously on external appearance of the newspaper, it delivers a bidding message such as: EQU [Bidding [the newspaper is displayed on screen]]
Then, the newspaper metaphor operation model agent 11 inquires a studio history agent 15 serving as contract manager as to which of the patterns included in these bids has been delivered at the latest as shown in FIG. 7A.
The studio history agent 15 performs pattern matching with the messages accumulated retrospectively in time series and sends back the first matched pattern, e.g. the message [It is * day * month * year today], to the newspaper metaphor operation model agent 11.
Upon receipt of this message, the newspaper metaphor model agent 11 sends a message to notify the successful bid: EQU [open the newspaper]
to the newspaper metaphor world A agent 13, for example, which made a successful bid for this pattern as shown in FIG. 8.
By this bid, the new information is presented if date is updated since the newspaper was seen previously, or if not updated, the information previously seen in the newspaper is presented.
FIG. 9 shows an example of addition of agent groups to the above example in order to utilize the functions provided by DB agent 12 on external appearance of television program.
In this case, according to the prior invention, the designer can design a program metaphor operation model agent 19 having a program metaphor protocol, which sets forth the procedure to utilize external appearance of television program from the other agents, as a metaphor operation model agent and can design a program metaphor world agent 21 as the metaphor world model agent by referring only to the program metaphor protocol and DB function protocol. In this case, there is no need to consider the newspaper metaphor world A agent 13, the newspaper metaphor world B agent 14, and the newspaper metaphor operation model agent 11, which make communication via the newspaper metaphor protocol.
Further, the designer can design a newspaper metaphor world C agent 20, i.e. an agent capable to change operation of the existing newspaper without considering the details of the existing agents, i.e. the newspaper metaphor world A agent 13, the newspaper metaphor world B agent 14, and the newspaper metaphor operation model agent 11 by referring only to the newspaper metaphor protocol and DB function protocol.
In so doing, the newspaper metaphor world C agent 20 can present the newspaper containing the information presented in the program in case the user has participated in the bidding and has seen the information in the program shortly before. FIG. 10 to FIG. 12 show examples of these operations, to which description will be given below.
First, when icon of the newspaper is clicked by the user, the newspaper metaphor operation model agent 11 delivers a contract announce message: EQU [see the newspaper]
to the partial studio as shown in FIG. 10A, and three agents, i.e. the newspaper metaphor world A agent 13, the newspaper metaphor world B agent 14, and the newspaper metaphor world C agent receive the message.
To match this, since the newspaper metaphor world A agent 13 is an agent to present the newest information to the user, it delivers a bidding message such as: EQU [Bidding [it is * day * month * year today]]
including a pattern to match the message, which is delivered by a clock agent 16 serving as a system agent at 0:00 A.M. as shown in FIG. 10B. Similarly, since the newspaper metaphor world B agent 14 is an agent to present the information, which the user has seen previously on external appearance of the newspaper, it delivers a bidding message such as: EQU [Bidding [the newspaper is displayed on screen]]
including message pattern to the newspaper metaphor operation model agent 11. Also, since the newspaper metaphor world C agent 20 is an agent to present the information, which the user has seen on the program immediately before, it delivers a bidding message such as: EQU [Bidding [the program is displayed on screen]]
including the message pattern to the program metaphor operation model agent 19.
From these bidding messages, the newspaper metaphor operation model agent 11 inquires to the studio history agent 15 as to which of the patterns containing in these bids has been delivered at the latest as shown in FIG. 11A.
To this inquiry, the studio history agent 15 performs pattern matching with the message accumulated retrospectively in time series as shown in FIG. 11B and sends back the first matched pattern, e.g. the message [the program is displayed on screen] to the newspaper metaphor operation model agent 11.
The newspaper metaphor operation model agent 11 sends a message to notify successful bidding: EQU [open the newspaper]
to the newspaper metaphor world C agent 20, which made a successful bid on the pattern as shown in FIG. 12.
By the addition of the newspaper metaphor world C agent 20 as described above, the new information is presented on the newspaper if date has been updated since the newspaper or the program was seen previously. If not updated, the newspaper containing the information seen in the program is presented if the information has been seen in the program immediately before, and if the information has been seen on the newspaper, operation can be changed so that the information seen on the newspaper previously is presented.
Problems of the Prior Patent
In the information processing system for architecture model of human interface (Japanese Patent Application 3-172823), the load to change task model for new module by the user himself using contract net mechanism can be substituted to some extent by the vendor and the architecture. The bidding message designed by the vendor can be considered as a partial task model. However, by description of the vendor and bid evaluation by architecture, there remains a possibility that the function not desirable for the user may be executed even though it may be a new function. For this reason, it is necessary for the user to customize with the minimum load required. However, in the prior patent, there is a problem that a mechanism for customizing the bid of the user's contract is not prepared. Also, there is a problem that the operation of the system is not consistent for the user because the procedure to evaluate the bid can be designed for each individual agent. There are also problems that the method to transmit message by the agent and common form of message are not defined.
In the conventional system, the user can select no other way but:
The prior patent (Japanese Patent Application 3-172823) partially solves these problems, while there remain problems such as no preparation of the mechanism for customizing contract; bidding by the user, inconsistency of system operation for the user, method to transmit message by the agent, and no common form for the message.